96a02f4f0bd68a552aa03cd570c61e515391cb1e,src/main/java/com/jsoniter/output/CodegenImplArray.java,CodegenImplArray,genList,#Class#Type#,66
Before Change
ctx.append("java.lang.Object e = list.get(0);");
ctx.append("if (e == null) { stream.writeNull(); } else {");
CodegenImplNative.genWriteOp(ctx, "e", compType, true);
ctx.append("}");
ctx.append("for (int i = 1; i < size; i++) {");
ctx.append("stream.write(',');");
ctx.append("e = list.get(i);");
ctx.append("if (e == null) { stream.writeNull(); } else {");
CodegenImplNative.genWriteOp(ctx, "e", compType, true);
ctx.append("}");
ctx.append("}");
ctx.buffer(']');
ctx.append("}");
After Change
}
private static CodegenResult genList(String cacheKey, Class clazz, Type compType) {
boolean isCollectionValueNullable = true;
if (cacheKey.endsWith("__value_not_nullable")) {
isCollectionValueNullable = false;
}
CodegenResult ctx = new CodegenResult();
ctx.append("public static void encode_(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException {");
ctx.append("java.util.List list = (java.util.List)obj;");
ctx.append("int size = list.size();");
ctx.append("if (size == 0) { return; }");
ctx.buffer('[');
ctx.append("java.lang.Object e = list.get(0);");
if (isCollectionValueNullable) {
ctx.append("if (e == null) { stream.writeNull(); } else {");
CodegenImplNative.genWriteOp(ctx, "e", compType, true);
ctx.append("}");
} else {
CodegenImplNative.genWriteOp(ctx, "e", compType, false);
}
ctx.append("for (int i = 1; i < size; i++) {");
ctx.append("stream.write(',');");
ctx.append("e = list.get(i);");
if (isCollectionValueNullable) {
ctx.append("if (e == null) { stream.writeNull(); } else {");
CodegenImplNative.genWriteOp(ctx, "e", compType, true);
ctx.append("}");
} else {
CodegenImplNative.genWriteOp(ctx, "e", compType, false);
}